/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Util.Controlador;

import java.awt.event.KeyEvent;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

/**
 *
 * @author jorge
 */
public class Val {

    public static String letras = "abcdefghijklmnopqrstuvwxyz";
    public static String numeros = "0123456789";    
    public static String especiales = "!@#$%^&*()_+=><'";
    private Pattern pattern;
    private Matcher matcher;

    public static void mostrarError(String mensaje){                
        JOptionPane.showMessageDialog(null, mensaje, "Error", JOptionPane.ERROR_MESSAGE);
        
    }
    public static void mostrarAviso(String mensaje){
        JOptionPane.showMessageDialog(null, mensaje, "Información", JOptionPane.INFORMATION_MESSAGE);
    }

    public static int solicitarConfirmacion(String mensaje){
        return JOptionPane.showConfirmDialog(null, mensaje, "Confirmación",JOptionPane.YES_NO_OPTION);
    }  
    
    public static String generarNombreUsuario(String nomb, String appaterno){
        return nomb.substring(0,1)+appaterno;
    }
    
    public static void soloTexto(KeyEvent evt) {        
         //ESTE METODO PUEDE SERVIR PARA NOMBRES O DESCRIPCIONES.
        char c = evt.getKeyChar();
        String badchars = "”¢€→¶↓“»←«°¡¿{}[]¬|@·~½¬`~!@#$%^&*()_+=\\|':;?/><";
        if((badchars.indexOf(c) > -1)) {
            evt.consume();
            return;
        }
        if(c == '-')
            evt.consume();
    }
    
    public static void soloDigito(KeyEvent evt) {        
        char c = evt.getKeyChar();
        String badchars = "”¢€→¶↓“»←«°¡¿{}[]¬|@·~½¬`~!@#$%^&*()_+=\\|\"':;?/>.<,-";
        if(Character.isLetter(c) || badchars.indexOf(c) > -1) {
            evt.consume();
        }
    }    

    public static void soloDigitoPunto(KeyEvent evt) {        
        char c = evt.getKeyChar();
        String badchars = "”¢€→¶↓“»←«°¡¿{}[]¬|@·~½¬`~!@#$%^&*()_+=\\|\"':;?/><,-";
        if(Character.isLetter(c) || badchars.indexOf(c) > -1) {
            evt.consume();
        }
    }      

    public static void caracterUnico(KeyEvent evt, String texto, char cr) {        
        char c = evt.getKeyChar();        
        if(c==cr && texto.indexOf(c) !=-1) {
            evt.consume();
        }
    }     
    
    public static void soloDigitoTexto(KeyEvent evt) {        
        char c = evt.getKeyChar();
        String badchars = "”¢€→¶↓“»←«°¡¿{}[]¬|@·~½¬`~!@#$%^&*()_+=\\|\"':;?/>.<,-";
        if(badchars.indexOf(c) > -1) {
            evt.consume();
        }
    }      
    
    public static void soloDigitoTextoPuntuacion(KeyEvent evt) {        
        char c = evt.getKeyChar();
        String badchars = "”¢€→¶↓“»←«°¡¿{}[]¬|@·~½¬`~!@#$%^&*()+=\\|\"'?/><";
        if(badchars.indexOf(c) > -1) {
            evt.consume();
        }
    }     
    
//    public static String generarPass(Configuracion conf){
//        String pass="";
//        int longLetras = letras.length();
//        int longNumeros = numeros.length();        
//        int longEspecial = especiales.length();   
//        for(int i=0; i<conf.getNumcaralf();i++){
//            int numero = (int)(Math.random()*(longLetras));
//            String caracter=letras.substring(numero, numero+1);
//            pass=pass+caracter;
//        }
//        for(int i=0; i<conf.getNumcarnum();i++){
//            int numero = (int)(Math.random()*(longNumeros));
//            String caracter=numeros.substring(numero, numero+1);
//            pass=pass+caracter;
//        }        
//        for(int i=0; i<conf.getNumcaresp();i++){
//            int numero = (int)(Math.random()*(longEspecial));
//            String caracter=especiales.substring(numero, numero+1);
//            pass=pass+caracter;
//        }                
//        return pass;
//    }
        
    public static void validaSoloNumeros(java.awt.event.KeyEvent evt)
   {
        char c = evt.getKeyChar();
        String badchars = "”¢€→¶↓“»←«°¡¿{}[]¬|@·~½¬`~!@#$%^&*()_+=\\|\"':;?/>.<, ";
        if((Character.isLetter(c) && !evt.isAltDown()) || badchars.indexOf(c) > -1) {
            evt.consume();
            return;
        }
        if(c == '-')
            evt.consume();
   }
    
   public static void validaSoloText(java.awt.event.KeyEvent evt)
   {
        //ESTE METODO PUEDE SERVIR PARA NOMBRES O DESCRIPCIONES.
        char c = evt.getKeyChar();
        String badchars = "0123456789”¢€→¶↓“»←«°¡¿{}[]¬|@·~½¬`~!@#$%^&*()_+=\\|\"':;?/>.<, ";
        if((badchars.indexOf(c) > -1)) {
            evt.consume();
            return;
        }
        if(c == '-')
            evt.consume();
    
   }
   
   
    public static void soloTextoyNumeros(KeyEvent evt) {
        //ESTE METODO PUEDE SERVIR PARA NOMBRES O DESCRIPCIONES.
        char c = evt.getKeyChar();
        String badchars = "”¢€→¶↓“»←«°¡¿{}[]¬|@·~½¬`~!@#$%^&*()_+=\\|\"':;?/>.<,";
        if((badchars.indexOf(c) > -1)) {
            evt.consume();
            return;
        }
        if(c == '-')
            evt.consume();
    }

    public static void deshabilitaCtrlV(KeyEvent evt) {
        //ESTE METODO PUEDE SERVIR PARA NOMBRES O DESCRIPCIONES.
        char c = evt.getKeyChar();
        int modif=evt.getModifiers();

        if (c == '\u0016' && modif == KeyEvent.CTRL_MASK) {
                evt.consume();
                return;
        }
    }
   
}
